Creating an html document from a source document

ABSTRACT

A system and method are provided for creating and managing electronic documents, complete with navigational elements, suitable for distribution over a computer network, such as the Internet. The invention includes a method for adding both linear and hierarchical navigation to the electronic document, as well as a method for the generation and management of the appropriate navigational links. The invention also includes a method to apply custom designs to the electronic document through the use of a templating mechanism. The electronic documents produced by the invention are composed of static text and images, do not require any dynamic server process and can be hosted by any Internet Web server software or hosted locally on any computer system or read-only medium, requiring no proprietary hosting technology.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the priority of provisional U.S. applicationSer. No. 60/390,098 filed on Jun. 19, 2002 and entitled “System andMethod for Adding Navigation to Online Documents” by Richard L. Andrews,John M. DeFilippis and Daniel S. Murphy, the entire contents andsubstance of which are hereby incorporated in total by reference.

FIELD OF THE INVENTION

The present invention relates to creating and managing navigation inelectronic documents and providing powerful standardization andautomation to reduce the cost for delivering user-friendly documents.

BACKGROUND OF THE INVENTION

Many public companies and governmental organizations are required by lawto publish a large volume of documents, including annual reports, proxystatements, and financial reports. Traditionally, distribution of suchdocuments has been done by mailing printed hard copies to therecipients. This process is expensive for the publishing institution andincreasingly less desired by many recipients with Internet access.

The widespread use of the Internet makes it an excellent means ofdistributing information in a cost-effective manner. However, before adocument originally intended for off-line (printed) publication can bedistributed on the Internet, it must first be converted into a formsuitable for on-line (electronic) publication.

Hypertext Markup Language (HTML), which is the standard language used tocreate Internet documents, is widely used to distribute many types ofelectronic documents over the Internet. However, the HTML language hasseveral inherent characteristics which render it unsuitable for thedistribution of documents that were originally intended for off-linepublication. Virtally all paper documents use sequentially numberedpages, in conjunction with a table of contents, to facilitate bothlinear and hierarchical navigation. HTML does not inherently support anyform of page-based navigation. For example, if a 400 page printeddocument were to be directly converted to HTML, the result would be asingle electronic page containing all of the information in thedocument, with neither a table of contents nor page breaks to facilitatenavigation.

An HTML document can be enhanced to include navigational functions.Examples of HTML navigation include: dividing the source document intomultiple HTML files and including linear navigation in the HTML filessuch as “Previous”, “Next”, and “Home” buttons; organization of thedocument into logical categories for a hierarchical structure, andadding a table of contents with hypertext links to specific sections ofthe document. However, this enhancement process is labor-intensive,requires personnel skilled in HTML development technologies, takes alengthy amount of time, and is prone to errors. Each page of theenhanced HTML document requires customization to implement navigationalelements.

Moreover, it is likely that the visual appearance of an HTML documentthat has been enhanced with the simple navigational functions describedabove will not match the visual appearance of the Internet web site inwhich the document is published. This mismatch in appearance is a causefor concern among many corporate and institutional publishers ofelectronic documents, who have expended substantial monies and effort todevelop Internet web sites that present a consistent appearancethroughout. These inconsistencies can be addressed by adding furtherenhancements, including customized graphic elements such as icons andtabs, to the basic HTML document. But, as with the basic enhancementprocess described above, this additional enhancement process takes evenmore time, requires a more highly skilled level of HTML developmentpersonnel, and is prone to an even greater variety of errors.

SUMMARY OF THE INVENTION

Briefly described, the invention comprises a method and computer systemto automatically add navigation to web documents and manage changes tothat navigation. The invention removes practically all of the manuallabor involved in creation and maintenance of navigation, allows forless skilled users to accomplish tasks normally requiring higher skilledweb developers, and removes the potential for errors or “broken links”in documents by automating the creation and management of thenavigation.

The invention controls all forms of navigation including linear andhierarchical. The invention can also utilize custom navigation layoutsto incorporate specific looks, including matching any existing websitedesign. The document's navigation is directly tied to an outline of thedocument allowing for fast and easy modifications.

The invention produces online documents that are viewable in anystandard browser and do not require any form of plug-in or enhancementto view properly. The online documents can also be hosted by any webserver and do not require any non-standard web server-based technology.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments of the present invention will now be described indetail in conjunction with the annexed drawings, in which:

FIG. 1A illustrates linear navigation and two levels of hierarchicalnavigation on an enhanced HTML page.

FIG. 1B illustrates a third level of hierarchical navigation on anenhanced HTML page.

FIG. 1C illustrates both “active” and “non-active” hierarchicalnavigational elements.

FIG. 1D illustrates the use of dropdown navigation.

FIG. 2A illustrates the process of adding navigation to an HTMLdocument.

FIG. 2B illustrates the navigation enhancement process itself.

FIG. 2C illustrates the sub-process of adding all the elements for aspecific hierarchical level.

FIG. 2D illustrates an embodiment of the invention for making changes toa navigation-enhanced HTML document.

FIG. 3 illustrates an embodiment of the invention for altering theappearance of a navigation-enhanced HTML document to integrate into anexisting website.

FIG. 4 illustrates an embodiment of the invention for adding navigationto an HTML document and altering the appearance to integrate into anexisting website.

FIG. 5A illustrates an embodiment of the invention for organizing,managing, and representing hierarchical navigational properties of thedocument.

FIG. 5B illustrates an embodiment of the invention for organizing,managing, and representing linear navigational properties of thedocument.

FIG. 5C illustrates an embodiment of the invention for handling documentpages which should appear only in linear navigation, or pages in neitherhierarchical nor linear navigation, or pages which should not have atemplate applied.

FIG. 6A illustrates the various elements in an embodiment of theinvention's templater.

FIG. 6B illustrates the various substitution codes used by theinvention's templater and renderer.

FIG. 7A illustrates an exemplary process used by the invention'srenderer to create enhanced HTML pages.

FIG. 7B illustrates an embodiment of the invention wherein the rendererprocesses substitution codes when creating enhanced HTML pages.

FIG. 7C illustrates an embodiment of the invention wherein the rendererprocesses hierarchical navigation substitution codes when creatingenhanced HTML pages.

FIG. 8 illustrates the previewer component on one embodiment of theinvention.

FIG. 9 illustrates the process used in an embodiment of the inventionwherein the invention's publisher component follows to send finalenhanced HTML pages to a website.

DETAILED DESCRIPTION

The present invention comprises a method and system for the efficientcreation of electronic documents complete with linear and hierarchicalnavigational elements, and for the automatic and consistent applicationof visual design elements, including colors, typefaces, layout, andgraphic elements such as images or icons, to the documents, thusproviding a means for creating electronic documents with sophisticatednavigation that can be seamlessly integrated into any existing web site.

The invention is not limited to internet documents as other means ofdistribution of such electronic documents are contemplated by theinvention, including, but not limited to, CD-ROMs and electronic mail.Further, it is envisioned that the invention could be implemented on aparticular user's computer—for his individual use. That is, theelectronic document is created and stored on the user's computer and notnecessarily communicated to another party.

Examples of linear (101) and two levels of hierarchical navigation(103), as contemplated by the invention, are illustrated in FIG. 1A.FIG. 1B illustrates a third level of hierarchical navigation (104). FIG.1C illustrates how navigational elements will appear differently basedupon the reader's context—level 1 navigational elements may behighlighted for the “active” section (105) or non-highlighted fornon-active sections (106). Similarly, the active level 2 navigationelement (107) may appear different than the non-active level 2navigational elements (108).

FIG. 1D illustrates an embodiment of the invention in which a dropdownnavigation system is employed. In particular, level 1 hierarchicalnavigational elements are “tabs” and level 2 hierarchical navigationalelements appear in a dropdown list when the user hovers over the level 1element. Level 3 hierarchical navigation elements appear as a pop-uplist when the user hovers over their level 2 hierarchical navigation.Level 4 and higher hierarchical levels are possible in dropdown systemsas well.

FIG. 2A illustrates the prior art's manual process of addingnavigational elements to an HTML document. The source HTML document(202) is split into multiple pages (204), which are then processed asillustrated in FIG. 2B to add navigational elements. When adding anyhierarchical navigational element (209, 210, or 211), a sub-process isrequired to add each element for that level's navigation—and choose theactive or non-active version. FIG. 2C illustrates this sub-process.Similar processes are required to build dropdown navigational systemswhen they are used.

The initial creation of the enhanced HTML document requires significantlabor as illustrated in FIGS. 2A, 2B, and 2C. Any changes (221) madeafter the initial enhancement process also requires significant laborincluding effort to change every single page in the enhanced HTMLdocument as illustrated in FIG. 2D.

In addition to adding navigation, the appearance of an enhanced HTMLpage (301) can be manually adjusted to match existing website designs(302) as illustrated in FIG. 3. The invention automates the laboridentified in FIGS. 2A, 2B, 2C, 2D, and 3.

In one embodiment, the invention accepts source content in a pluralityof forms, including HTML and other electronic formats, such as a wordprocessor document or an Adobe Portable Document Format (PDF) fileformat. The source content is divided into a series of HTML files, witheach file representing one page of the electronic document. In furtherembodiments of the invention, one or more templates that describe thevisual appearance of the pages are defined. Then, the relationshipsbetween and among the pages are established through use of an outlinemechanism, with both linear and hierarchical navigation instructionsbeing automatically encoded into the page files as the relationships aredefined by the user. The templating mechanism uses the previouslydefined templates to determine the visual appearance of each page of theelectronic document, including the appearance and behavior of the iconsor other visual symbols used for both the linear and hierarchicalnavigation. The resulting electronic document, complete withsophisticated navigational elements and a consistent visual appearance,can then be seamlessly integrated into, and published on, an existingInternet web site. The relatively small size of the HTML page files,combined with the comprehensive navigational links, yields an on-linedocument that is visually consistent with the rest of the web site, andcan be quickly downloaded and easily navigated by any user.

One aspect of various embodiments of the invention is that they automatealmost all of the steps required to add both linear and hierarchicalnavigation to the electronic document. Another aspect is that itautomates the process of making changes to the content, organization,and visual appearance of the electronic document, thus greatly reducingthe labor required to maintain and update the document. Yet anotheraspect of the invention is that it ties the hierarchical and linearorganizations of the document, which are stored in an electronic datafile, to a templating Mechanism which controls the generation ofnavigational links, thus providing an efficient and powerful means togenerate navigational links “on the fly” when the electronic document isfirst created and whenever it is modified. Yet another aspect of theinvention is that it includes a templater that defines all aspects ofthe visual appearance of the electronic document, including the colors,typeface, layout, icons, and other visual characteristics of thedocument, as well as the graphical elements, such as icons, arrows, ortabs, which are used to represent navigational links on the pages of thedocument.

FIG. 4 illustrates the navigation and appearance enhancement process ofan embodiment of the invention. The electronic document creation processbegins with a source document (401). The invention accepts sourcedocuments existing in a plurality of forms, including a printed hardcopy, or in electronic form such as a Microsoft Word document or anAdobe Portable Document File (PDF) document.

The source document is then converted (402) into a series of HTML files(403), with each file representing one page of the document. In the caseof a paper document, this is accomplished by scanning the printed pages.In the case of an electronic document, the HTML files are created by asoftware utility. The source page files representing the source documentare then loaded into the invention's Content Loader/Editor component(405), which creates a page node for each file and automatically assignssequential ordering, thus creating a linear navigation format for theentire document.

Once the page files have been imported into the invention and assignedthe sequential ordering, the user can then modify the relationshipsbetween the page nodes to define hierarchical relationships with anynumber of levels. Page nodes can have a parent node, child nodes, andsibling nodes which fully define the hierarchical relationships. In oneembodiment of the invention, this is accomplished by using the outlinercomponent (406). The outliner incorporates a “drag and drop” computerinterface which allows the user to quickly and efficiently define,arrange and re-arrange the relationships between and among the pagenodes. For example, the user can easily “promote” or “demote” theposition of a page node in the document's hierarchy by selecting theappropriate icon and moving it with the mouse. The hierarchicalrelationships, along with the previously created linear relationships,are stored in a text file that has been formatted to represent data (forexample, an Extensible Markup Language “XML” file). Alternatively, ifdesired, these data can be stored in a relational database managementsystem (RDMS), which are well-known in the prior art.

FIG. 5A illustrates the outliner's ability to represent hierarchicalnavigational information for the document. The outliner thus organizes adocument into logical relationships which are then used to control allnavigation and enable automation of enhanced HTML page creation atspeeds and costs which cannot be matched by manual methods. The outlinerelationships are also used to control dropdown menus, another difficultlabor-intensive task prone to errors. Pages which have more than onehierarchical element can be handled by splitting the page into twoseparate pages, each with their own hierarchical element, or by havingtwo hierarchical elements refer to the same page.

FIG. 5B illustrates the outliner's ability to represent linearnavigational information. FIG. 5C illustrates the outliner's ability tohave special properties to handle pages that should appear only inlinear navigation (and not in hierarchical navigation), pages whichshould not appear in either linear or hierarchical navigation, or pagesthat should not be processed using the templater (discussed below).

Returning to FIG. 4, an additional feature of the depicted embodiment,used as a part of the document creation process, is the templater (407),which permits the user to describe and specify various characteristicsof the visual appearance of the document. The templater can be used todescribe both the overall “look” of the document—including colors,typefaces, layout, and other visual elements—as well as the appearanceand behavior of the icons, tabs, buttons, menus, arrows, or other visualsymbols or objects which are used to facilitate both the linear andhierarchical navigation within the document. The templates that havebeen defined using the templater are stored in a text file that has beenformatted to represent data (for example, an Extensible Markup Language“XML” file.) Alternatively, these data can be stored in a relationaldatabase management system (RDMS) if desired.

In an embodiment of the invention, the visual appearance of theelectronic document, including colors, fonts, graphic images, layout,and so forth, are controlled by the invention's template mechanism,which applies the templates that have been created using the templaterto each page of the document. The template mechanism allows the user tocontrol the overall “look and feel” of the electronic document in asimple and efficient manner. The template mechanism is directly tied tothe invention's outliner in a way such that any action made by the userin the outliner resulting in a change to the organization of thedocument automatically causes the appropriate changes to be made to thenavigational links of all pages that are affected by the change.

The templater uses a series of template elements and templatesubstitution codes to define how the final enhanced HTML pages arecreated. Each template element stores HTML code that is used in specificways to create the final enhanced HTML document. FIG. 6A illustrates thevarious template elements and their specific functions.

The templater's substitution system is a series of codes that is used tobuild the enhanced HTML document as illustrated in FIG. 6B. These codesare placed into various template elements to control how the finalenhanced HTML document is created. For example, the DocLayout templateelement will normally have {doctitle} to indicate where the document'stitle should be placed, {doclogo} to indicate where the logo should beplaced, and many other substitution codes.

As depicted in FIG. 4, the invention has a renderer component (408),which creates the final enhanced HTML pages using the source content,outliner information, and template information. FIG. 7A illustrates therenderer's process in one embodiment of the invention. Each page to berendered starts the process by using the DocLayout template element(703) and processing a series of substitutions.

The document layout element is then processed for single and dropdownsubstitutions (704) such as {content}, {doclogo}, {doctitle},{btncustoml }, {menu_quickmenupro}, etc. Then linear navigation is added(706) using substitutions such as {btnprevious}, {btnnext}, {btnhome}etc.

For example, if {btnprevious} exists in the DocLayout template element,the renderer will fetch the template element BtnPrevious, process thatelement for any substitutions it may have, and then insert the resultinto DocLayout, replacing the {btnprevious} text. FIG. 7B illustratesthis substitution process. When processing elements for substitutions,the renderer will utilize information from the outliner (715) toaccurately add text and links to items such as linear navigation anddropdown navigation.

The renderer processes hierarchical navigation in a different mannerthan other substitutions. In the embodiment depicted in FIG. 7C, when ahierarchical substitution code is encountered (722), such as {level1},the renderer will build a string (726) to be inserted which has code foreach of the document's page nodes that are in that level. For example,when {level1} exists, the renderer will add a Level_(—)1 templateelement for each of the level 1 hierarchical page nodes in the outliner.If a specific level 1 page is an ancestor of the page being created, theLevel_(—)1_Active template element will be used instead of the normalLevel_(—)1 element. This process automates the labor identified in FIG.2C. The template element substitution step (724) utilizes informationfrom the outliner and may recursively call the hierarchical substitutioncode process if hierarchical navigation substitution codes exist in thatelement.

Referencing FIG. 7A, a similar process is then executed for allhierarchical navigational levels (707 and 708). Finally, all referencesto graphics and links are controlled to work properly (709) in previewor publish versions of the final document.

In additional embodiments of the invention it is contemplated that thetemplater and renderer components include the ability to load any customdesign, and can be used to generate pages that seamlessly integrate intoany existing website design. The invention can thus be used to managecontent within an existing website and to integrate newly-createdelectronic content with other products and processes.

Further embodiments of the invention also include a previewer componentas illustrated in FIG. 8, which allows the user to preview how theelectronic document will appear when it is distributed over the Internetand viewed in a web browser. This previewer component provides the userwith an efficient method for ensuring that the electronic document isconsistent with the appearance of the website where it will bepublished.

Still further embodiments of the invention also include a publishercomponent (410), which allows the user to send the HTML filesrepresenting the electronic document to a web server. FIG. 9 illustratesthe publisher's process for publishing final enhanced HTML documents.

Thus, the above described components of the invention, including theoutliner, templater, renderer, previewer, and publisher, comprise anentire system and method for creating electronic documents, completewith both hierarchical and linear navigation that can be seamlesslyintegrated into existing Internet web sites. Moreover, the inventiondramatically reduces the labor cost for enhancing HTML documents withnavigation and appearance features as illustrated in FIG. 2B, 2C, and 3.In addition, the invention also dramatically reduces the labor cost formaking changes to documents which have already been enhanced, asillustrated in FIG. 2D.

It will be understood that the forgoing description of the invention isby way of example only, and variations will be evident to those skilledin the art without departing from the scope of the invention, which isas set out in the appended claims.

1. A system for creating a static electronic document from a sourcedocument having a source content, said source content comprising sourcepages, said electronic document providing linear and hierarchicalnavigational elements, said system comprising: a computer; a means forinputting said source document into said computer in the form of aseries of HTML files, each file corresponding to one of said sourcepages; a means for creating a page node for each file and assigning asequential ordering to each said page node; an outliner means forassigning hierarchical relationships between said page nodes, whereby atleast two hierarchical levels are established; a templater means fordefining a template, said template specifying characteristics of thevisual appearance of the electronic document; a means for storing saidtemplate; and, a rendering means for creating final static HTML pages tobe displayed, said rendering means employing said template, saidhierarchical relationships and said source content.
 2. The system ofclaim 1 wherein said outliner means comprises a drag and drop computerinterface means.
 3. The system of claim 1 wherein said templater meansutilizes a series of template elements and template substitution codes.4. The system of claim 3 wherein said rendering means comprisesperforming a series of substitutions in accordance with said templatesubstitution codes.
 5. The system of claim 4 wherein said renderingmeans further comprises building a string to be inserted for eachappropriate hierarchical level whenever a hierarchical substitution codeis encountered.
 6. The system of claim 1 further comprising a publishermeans for distributing over the Internet said final HTML pages.
 7. Thesystem of claim 6 further comprising a previewer means for viewing atthe computer how the final HTML pages will appear to an Internet reader.8. The system of claim 1 wherein said source content is in at least oneof a plurality of formats, said plurality of formats selected from thegroup consisting of printed pages, HTML, Adobe Portable Document Format(PDF), Graphics Interchange Format (GIF), Joint Photographic Experts(JPEG), Microsoft Word, and any other electronic format recognizable bythe computer.
 9. A method for creating a static electronic document froma source document having a source content, said source contentcomprising source pages, said electronic document providing linear andhierarchical navigational elements, said method comprising the steps of:inputting said source document into a computer in the form of a seriesof HTML files, each file corresponding to one of said source pages;creating a page node for each file and assigning a sequential orderingto each said page node; assigning hierarchical relationships betweensaid page nodes, whereby at least two hierarchical levels areestablished; defining a template, said template specifyingcharacteristics of the visual appearance of the electronic document;storing said template; and, rendering final, static HTML pages to bedisplayed, said rendering employing said template, said hierarchicalrelationships and said source content.
 10. The method of claim 9 whereinsaid step of assigning hierarchical relationships comprises using a dragand drop computer interface means.
 11. The method of claim 9 whereinsaid step of defining a template utilizes a series of template elementsand template substitution codes.
 12. The method of claim 11 wherein saidrendering step comprises performing a series of substitutions inaccordance with said template substitution codes.
 13. The method ofclaim 12 wherein said rendering step further comprises building a stringto be inserted for each appropriate hierarchical level whenever ahierarchical substitution code is encountered.
 14. The method of claim 9further comprising a publishing step for distributing over the Internetsaid final HTML pages.
 15. The method of claim 14 further comprising astep of previewing at the computer how the final HTML pages will appearto an Internet reader.
 16. The method of claim 9 wherein said sourcecontent is in at least one of a plurality of formats, said plurality offormats selected from the group consisting of printed pages, HTML, AdobePortable Document Format (PDF), Graphics Interchange Format (GIF), JointPhotographic Experts (JPEG), Microsoft Word, and any other electronicformat recognizable by the computer.
 17. A computer program productrecorded on computer readable medium and containing indicia ofinstructions for a computer to perform a method of creating a staticelectronic document from a source document having a source content, saidsource content comprising source pages, said electronic documentproviding linear and hierarchical navigational elements, said methodcomprising the steps of: inputting said source document into a computerin the form of a series of HTML files, each file corresponding to one ofsaid source pages; creating a page node for each file and assigning asequential ordering to each said page node; assigning hierarchicalrelationships between said page nodes, whereby at least two hierarchicallevels are established; defining a template, said template specifyingcharacteristics of the visual appearance of the electronic document;storing said template; and, rendering final, static HTML pages to bedisplayed, said rendering employing said template, said hierarchicalrelationships and said source content.
 18. The computer program productof claim 17 wherein said step of assigning hierarchical relationshipscomprises using a drag and drop computer interface means.
 19. Thecomputer program product of claim 17 wherein said step of defining atemplate utilizes a series of template elements and templatesubstitution codes.
 20. The computer program product of claim 19 whereinsaid rendering step comprises performing a series of substitutions inaccordance with said template substitution codes.
 21. The computerprogram product of claim 20 wherein said rendering step furthercomprises building a string to be inserted for each appropriatehierarchical level whenever a hierarchical substitution code isencountered.
 22. The computer program product of claim 17 wherein saidmethod further comprises a publishing step for distributing over theInternet said final HTML pages.
 23. The computer program product ofclaim 22 wherein said method further comprises a step of previewing atthe computer how the final HTML pages will appear to an Internet reader.24. The computer program product of claim 17 wherein said source contentis in at least one of a plurality of formats, said plurality of formatsselected from the group consisting of printed pages, HTML, AdobePortable Document Format (PDF), Graphics Interchange Format (GIF), JointPhotographic Experts (JPEG), Microsoft Word, and any other electronicformat recognizable by the computer.